1. Field of the Invention
This invention concerns a microcomputer that can perform CRC (cyclic redundancy check) operations, which is used in the error-checking of transmission data and the like, and which can generate CRC codes for such CRC operations.
2. Description of Related Art
Conventional microprocessors generate and check CRC codes of transmission data using special purpose CRC code generating and checking hardware or using an existing arithmetic circuit inside an arithmetic logic unit (hereinafter "ALU") in conjunction with CRC code generating and checking software that has been formed by combining existing commands that correspond to each of the arithmetic circuits.
However, since a functional circuit block for generating and checking the CRC codes, separate from the functional block of the microprocessor, has to be added as in the former case where special purpose hardware for CRC code generation and checking is used, problems like complicated assembly work and increased costs due to the addition of the functional block for the CRC arise; for example, like the case when a car-mounted Local Area Network (hereinafter "LAN") is constructed by connecting various control devices through communication lines where each functional block has to be connected to each of the control devices.
On the other hand, for the latter case where CRC code generation and checking are based in software, there is no need to provide a special CRC functional block, thus, resulting in a simpler construction for the apparatus. For example, the assembly of the car-mounted LAN described above becomes simpler; however, since complicated computational processes have to be performed to generate and check CRC codes using software, it will take time to generate and check CRC codes and thus, problems such as drops in the transmission and reception speed arise.
In other words, in performing CRC code generation and checking, since processing of the transmission data has to be performed using a complicated polynomial, performing CRC code generation and checking using the software-based approach would take a lot of time and thus, this approach cannot be used in cases when quick responses of the controls are required as in the case of the automotive control system described above.